Version Conflicts and Schema Evolution in Decentralized Systems

Seminar, Project

Like every modern application, decentralized applications get updated from time to time. These updates sometimes introduce breaking changes, e.g., when they change/drop certain APIs or when they change the way messages in the systems are formatted.

This poses an interesting problem that is sometimes referred to as schema migration/evolution: How do we deal with the fact that different versions of the same application might co-exist in a running distributed system? Maybe some participants have already updated their app while others have not.

If we want to prevent errors due to version conflicts, we have to develop distributed applications that are ready to deal with data from the "past", but also with possible updates from the "future".

In this topic you will research and survey different strategies for dealing with schema evolution such as edit lenses (seminar) or you will try them out/implement your own (project).